<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .div1{width: 100px;height: 100px;background: red;margin-bottom: 30px;}
        .div2{width: 100px;height: 100px;background: blue;margin-top: 30px;}
        .box{overflow: hidden;}

        .one{width: 200px;height: 200px;background: red; overflow: hidden;}
        .two{width: 100px;height: 100px;background: blue;margin-top: 50px;}

        .oneone{width: 200px;border: 1px black solid;overflow: hidden;}
        .twotwo{width: 100px;height: 100px;background: blue;float: left;}

        .div11{width: 100px;height: 100px;background: red;float: left;}
        .div22{height: 400px;background: blue;overflow: hidden;}
    </style>
</head>
<body>
    <!--
        具有BFC特性的元素可以看作是隔离了的独立容器，
        容器里的元素不会在布局上影响到外面的元素，并且BFC具有普通容器所没有的一些特性

        触发BFC条件
        浮动元素：float除none以外的值
        绝对定位元素：position（absolute、fixed）
        display为inline-block、table-cells、flex
        overflow除了visible以外的值（hidden、auto、scroll）

        特性应用
        解决margin的叠加问题
        解决margin的传递问题
        解决浮动问题
        解决覆盖问题
    -->
    <!-- 解决margin的叠加问题 -->
    <div class="box">
        <div class="div1"></div>
    </div>
    <div class="box">
        <div class="div2"></div>
    </div><hr>
    <!-- 解决margin的传递问题 -->
    <div class="one">
        <div class="two"></div>
    </div><hr>
    <!-- 解决浮动问题 -->
    <div class="oneone">
        <div class="twotwo"></div>
    </div><hr>
    <!-- 解决覆盖问题 -->
    <div class="div11"></div>
    <div class="div22">fdsfdsfdsfdsfsdfdscxzc</div>
</body>
</html>